'''
输出九九乘法表，用while循环
定义 i 为乘数，即乘号后的数字，也是每一行行内不变的数字
定义 j 为被乘数，每行行内递增；行行之间也递增或递减
'''

#倒三角，右靠齐；（即自右下角往上读，自右向左读；）
i=9
while i>0:
    print((9-i)*7*' ',end='')
    j=i
    while j>0:
        print('{}{}{}{}{:<3}'.format(j,'x',i,'=',i*j),end='')
        j-=1
    print()
    i-=1
print()

#倒三角，左靠齐；（即自左下角往上读，自左向右读；）
i=9
while i>0:
    j=1
    while j<i+1:  #此处+的优先级高于<,故不需要加括号；如果优先级小的话加括号是()还是[]? 加了（），会不会被系统理解为元组？
        print('{}{}{}{}{:<3}'.format(j,'x',i,'=',i*j),end='')
        j+=1
    print()
    i-=1
print()

#正三角，左靠齐；
i=1
while i<10:
    j=1
    while j<=i:
        print('{}{}{}{}{:<3}'.format(j,'x',i,'=',i*j),end='')
        j+=1
    print()
    i+=1
print()

#正三角，右靠齐；
i=1
while i<10:
    print((9-i)*7*' ',end='')
    j=i
    while j>0:
        print('{}{}{}{}{:<3}'.format(j,'x',i,'=',i*j),end='')
        j-=1
    print()
    i+=1
    
        

